/*jshint esversion: 9 */
/**
 * 用于处理目录的工具
 */

/**
 * 将目录转换为树形结构
 */
 export function toTree(list=[],option={key:'id',pKey:'pid',isNew:true}){
    const {key,pKey,isNew} = option;
    if(isNew){
        list = JSON.parse(JSON.stringify(list));
    }
    const idMap = {};
    const tree = [];
    list.forEach(item => {
        idMap[item[key]] = item;
    });
    list.forEach(item=>{
        if(idMap[item[pKey]]){
            idMap[item[pKey]].childs = idMap[item[pKey]].childs || [];
            idMap[item[pKey]].childs.push(item);
        }else{
            tree.push(item);
        }
    });
    return tree;
}
